package com.uncp.comisiondeadmision.evaluacion.service;

import java.sql.SQLException;
import java.util.ArrayList;

import com.uncp.comisiondeadmision.comprobantedepago.beans.PostulanteBean;
import com.uncp.comisiondeadmision.evaluacion.beans.DetalleSolicitudBean;
import com.uncp.comisiondeadmision.evaluacion.beans.DetalleSolicitudBeanMixto;
import com.uncp.comisiondeadmision.evaluacion.beans.EvaluarBean;
import com.uncp.comisiondeadmision.evaluacion.beans.RequisitoBean;
import com.uncp.comisiondeadmision.evaluacion.beans.SolicitudBean;
import com.uncp.comisiondeadmision.evaluacion.dao.DetalleSolicitudDAO;
import com.uncp.comisiondeadmision.evaluacion.dao.SolicitudInscripcionDAO;
import com.uncp.comisiondeadmision.fabricas.DAOFactory;

public class InscripcionService {

	DAOFactory subFabrica = DAOFactory.getSubFabrica(DAOFactory.MYSQL);

	SolicitudInscripcionDAO inscripcion = subFabrica.getSolicitudInscripcion();
	DetalleSolicitudDAO detalle = subFabrica.getDetalleSolictud();

	public ArrayList<RequisitoBean> traeRequisitos(int intCodPostulante)
			throws SQLException {
		return inscripcion.traeRequisitos(intCodPostulante);
	}

	public int actualizaSolicitud(PostulanteBean bean)
			throws Exception {
		return inscripcion.actualizaSolicitud(bean);
	}

	public int insertaDetalleSolicitud(DetalleSolicitudBean bean)
			throws Exception {
		return inscripcion.insertaDetalleSolicitud(bean);
	}


	// EVALUACION ----------------------------------

	public ArrayList<DetalleSolicitudBeanMixto> traeDetallePendiente(
			Integer cod_postu) throws Exception {
		return detalle.traeDetallePendiente(cod_postu);

	}

	public DetalleSolicitudBean buscaDetalle(Integer intItem) throws Exception {
		return detalle.buscaDetalle(intItem);
	}
/*
	public Integer aprobarRequisito(Integer intItem) throws Exception {
		return detalle.aprobarRequisito(intItem);
	}*/

	public Integer desaprobarRequisito(Integer intItem,String observacion) throws Exception {
		return detalle.desaprobarRequisito(intItem,observacion);
	}

	public ArrayList<DetalleSolicitudBean> traeDetalleSolicitud()
			throws Exception {
		return detalle.traeDetalleSolicitud();
	}

	public ArrayList<SolicitudBean> traeSolicitud() throws SQLException {
		return inscripcion.traeSolicitud();
	}

	public int aprobarSolicitud(Integer nroSolicitud) throws SQLException {
		return inscripcion.aprobarSolicitud(nroSolicitud);
	}

	public EvaluarBean obtenerPendientesxSol(Integer nroSolicitud)
			throws SQLException {
		return detalle.obtenerPendientesxSol(nroSolicitud);
	}
	public ArrayList<PostulanteBean> consultaPendienteDesaprobado()
	throws SQLException{
		
		return inscripcion.consultaPendienteDesaprobado();
		
	}
	/////este aprueba funciona
	public int apruebaSolicitud(int nroSolicitud)
	throws SQLException {
		
		
		return inscripcion.apruebaSolicitud(nroSolicitud);
		
	}
	
	
	
	
	///Detalle
	
	public int actualizaDetalleSolicitud(DetalleSolicitudBean bean)
	throws Exception {
		return detalle.actualizaDetalleSolicitud(bean);
		}

	public int aprobarRequisito(int item, String observacion) throws SQLException {
		// TODO Auto-generated method stub
		return detalle.aprobarRequisito(item,observacion);
	}

}
